package com.springcloud.consumer02.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.springcloud.consumer02.dto.UserInfo;
import com.springcloud.consumer02.service.UserService;
import org.springframework.stereotype.Service;

/**
 * 接口的实现类做openfeign的降级处理，当接口远程调用方法失败时，来调用接口实现类的对应方法
 * 步骤：
 * 1.创建service接口的实现类，重写接口中的方法声明
 * 2.在接口中的@FeignClient注解中添加fallback属性，指定降级处理使用的处理类
 * 3.在application.properties文件中添加feign.hystrix.enabled=true，开启熔断监控，降级处理才能起作用
 */
@Service
public class UserServiceImpl implements UserService {

    @Override
    public JSONObject getUserInfo(String useranme) {
        JSONObject obj = new JSONObject();
        obj.put("code", 500);
        obj.put("msg", "远程访问接口超时");
        return obj;
    }

    @Override
    public JSONObject addUserInfo(UserInfo userInfo) {
        JSONObject obj = new JSONObject();
        obj.put("code", 500);
        obj.put("msg", "远程访问接口超时");
        return obj;
    }
}
